package com.lekang.le.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.lekang.common.annotation.Excel;
import com.lekang.common.core.domain.BaseEntity;

/**
 * 评估报告对象 assessment_report
 * 
 * @author caoyangyang
 * @date 2025-10-23
 */
public class AssessmentReport extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 老人外键编号 */
    @Excel(name = "老人外键编号")
    private Long elderlyId;

    /** 自理能力得分 */
    @Excel(name = "自理能力得分")
    private BigDecimal selfCareScore;

    /** 精神状态得分 */
    @Excel(name = "精神状态得分")
    private BigDecimal mentalStatusScore;

    /** 感知与社会参与得分 */
    @Excel(name = "感知与社会参与得分")
    private BigDecimal perceptionSocialScore;

    /** 预估总分 */
    @Excel(name = "预估总分")
    private BigDecimal estimatedTotalScore;

    /** 能力初步等级 */
    @Excel(name = "能力初步等级")
    private String preliminaryAbilityLevel;

    /** 能力等级变更依据 */
    @Excel(name = "能力等级变更依据")
    private String levelChangeBasis;

    /** 其他变更依据 */
    @Excel(name = "其他变更依据")
    private String otherBasis;

    /** 能力最终等级 */
    @Excel(name = "能力最终等级")
    private String finalAbilityLevel;

    /** 评估日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "评估日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date assessmentDate;

    /** 评估人员ID */
    @Excel(name = "评估人员ID")
    private Long assessorId;

    /** 评估状态 */
    @Excel(name = "评估状态")
    private String assessmentStatus;

    /** 创建人 */
    @Excel(name = "创建人")
    private Long creator;

    /** 更新人 */
    @Excel(name = "更新人")
    private Long updater;

    /** 逻辑删除 */
    @Excel(name = "逻辑删除")
    private Long isDeleted;

    /** 额外字段1 */
    private String extraField1;

    /** 额外字段2 */
    private String extraField2;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setElderlyId(Long elderlyId) 
    {
        this.elderlyId = elderlyId;
    }

    public Long getElderlyId() 
    {
        return elderlyId;
    }

    public void setSelfCareScore(BigDecimal selfCareScore) 
    {
        this.selfCareScore = selfCareScore;
    }

    public BigDecimal getSelfCareScore() 
    {
        return selfCareScore;
    }

    public void setMentalStatusScore(BigDecimal mentalStatusScore) 
    {
        this.mentalStatusScore = mentalStatusScore;
    }

    public BigDecimal getMentalStatusScore() 
    {
        return mentalStatusScore;
    }

    public void setPerceptionSocialScore(BigDecimal perceptionSocialScore) 
    {
        this.perceptionSocialScore = perceptionSocialScore;
    }

    public BigDecimal getPerceptionSocialScore() 
    {
        return perceptionSocialScore;
    }

    public void setEstimatedTotalScore(BigDecimal estimatedTotalScore) 
    {
        this.estimatedTotalScore = estimatedTotalScore;
    }

    public BigDecimal getEstimatedTotalScore() 
    {
        return estimatedTotalScore;
    }

    public void setPreliminaryAbilityLevel(String preliminaryAbilityLevel) 
    {
        this.preliminaryAbilityLevel = preliminaryAbilityLevel;
    }

    public String getPreliminaryAbilityLevel() 
    {
        return preliminaryAbilityLevel;
    }

    public void setLevelChangeBasis(String levelChangeBasis) 
    {
        this.levelChangeBasis = levelChangeBasis;
    }

    public String getLevelChangeBasis() 
    {
        return levelChangeBasis;
    }

    public void setOtherBasis(String otherBasis) 
    {
        this.otherBasis = otherBasis;
    }

    public String getOtherBasis() 
    {
        return otherBasis;
    }

    public void setFinalAbilityLevel(String finalAbilityLevel) 
    {
        this.finalAbilityLevel = finalAbilityLevel;
    }

    public String getFinalAbilityLevel() 
    {
        return finalAbilityLevel;
    }

    public void setAssessmentDate(Date assessmentDate) 
    {
        this.assessmentDate = assessmentDate;
    }

    public Date getAssessmentDate() 
    {
        return assessmentDate;
    }

    public void setAssessorId(Long assessorId) 
    {
        this.assessorId = assessorId;
    }

    public Long getAssessorId() 
    {
        return assessorId;
    }

    public void setAssessmentStatus(String assessmentStatus) 
    {
        this.assessmentStatus = assessmentStatus;
    }

    public String getAssessmentStatus() 
    {
        return assessmentStatus;
    }

    public void setCreator(Long creator) 
    {
        this.creator = creator;
    }

    public Long getCreator() 
    {
        return creator;
    }

    public void setUpdater(Long updater) 
    {
        this.updater = updater;
    }

    public Long getUpdater() 
    {
        return updater;
    }

    public void setIsDeleted(Long isDeleted) 
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted() 
    {
        return isDeleted;
    }

    public void setExtraField1(String extraField1) 
    {
        this.extraField1 = extraField1;
    }

    public String getExtraField1() 
    {
        return extraField1;
    }

    public void setExtraField2(String extraField2) 
    {
        this.extraField2 = extraField2;
    }

    public String getExtraField2() 
    {
        return extraField2;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("elderlyId", getElderlyId())
            .append("selfCareScore", getSelfCareScore())
            .append("mentalStatusScore", getMentalStatusScore())
            .append("perceptionSocialScore", getPerceptionSocialScore())
            .append("estimatedTotalScore", getEstimatedTotalScore())
            .append("preliminaryAbilityLevel", getPreliminaryAbilityLevel())
            .append("levelChangeBasis", getLevelChangeBasis())
            .append("otherBasis", getOtherBasis())
            .append("finalAbilityLevel", getFinalAbilityLevel())
            .append("assessmentDate", getAssessmentDate())
            .append("assessorId", getAssessorId())
            .append("assessmentStatus", getAssessmentStatus())
            .append("createTime", getCreateTime())
            .append("creator", getCreator())
            .append("updateTime", getUpdateTime())
            .append("updater", getUpdater())
            .append("isDeleted", getIsDeleted())
            .append("extraField1", getExtraField1())
            .append("extraField2", getExtraField2())
            .toString();
    }
}
